package com.onec.service.api.enums;

/**
 * payment 服务状态设计
 *
 * @author ONEC
 */
public enum StatusEnum {

    /**
     * 申请状态未处理(订单)
     */
    SUCCESS(0, "成功"),
    /**
     * 申请状态处理中
     */
    DOING(1, "处理中"),
    /**
     * 申请状态失败
     */
    FAILED(2, "失败"),

    /**
     * 产品状态冻结
     */
    FREEZE(4, "已经冻结"),
    /**
     * 产品状态正常
     */
    INIT(5, "初始化中"),
    /**
     * 产品状态正常
     */
    CLOSED(6, "订单关闭"),

    ;

    private int index;

    private String msg;

    StatusEnum(int index, String msg) {
        this.index = index;
        this.msg = msg;
    }

    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }

    public String getMsg() {
        return msg;
    }

    public void setMsg(String msg) {
        this.msg = msg;
    }

    /**
     * 验证成功：
     *
     * @param status
     * @return
     */
    public static boolean isSuccess(StatusEnum status) {
        return SUCCESS.equals(status);
    }


    /**
     * 验证处理中：
     *
     * @param status
     * @return
     */
    public static boolean isDoing(StatusEnum status) {
        return DOING.equals(status);
    }

    /**
     * 失败：
     *
     * @param status
     * @return
     */
    public static boolean isFailed(StatusEnum status) {
        return FAILED.equals(status);
    }

    /**
     * 失败：
     *
     * @param status
     * @return
     */
    public static boolean isInit(StatusEnum status) {
        return INIT.equals(status);
    }


    /**
     * 冻结：
     *
     * @param status
     * @return
     */
    public static boolean isFreeze(StatusEnum status) {
        return FREEZE.equals(status);
    }

}
